package com.example.teesystem.common.valid;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;

@Documented
@Constraint(validatedBy = {CustomValidIdsValidator.class})
@Target({ElementType.PARAMETER, ElementType.FIELD, ElementType.LOCAL_VARIABLE})
@Retention(RetentionPolicy.RUNTIME)
public @interface ValidIds {
    String message() default "{com.example.teesystem.common.valid.ValidIds.message}";
    
    Class<?>[] groups() default {};
    
    Class<? extends Payload>[] payload() default {};
    
    int minValue() default 1;
    
    boolean ifUserId() default false;

    boolean ifCourseId() default false;
    
    boolean allowNull() default true;
}